/*************************************************
Author: byron
Date: 12/20/2012
Description:
Notes: 
*************************************************/

#ifndef __CSceneMgr_h__
#define __CSceneMgr_h__

#include "commerrno.h"
#include "CTHashObjectMgr.h"
#include "CSceneCfg.h"

class CSceneMgr
{
public:
    CSceneMgr()
    {
    }

    virtual ~CSceneMgr()
    {
    }

    static int CountSize()
    {
        return CSceneCfg::CountSize();
    }

    int Init(const char * sBuff)
    {
        if (!sBuff)
        {
            return RET_SYS_NULL_POINTER;
        }

        return _stSceneCfg.Init(sBuff);
    }

    int LoadConfig(const char* szCfgPath);

    int FindSceneCfg(short shResID)
    {
        return _stSceneCfg.FindConfig(shResID);
    }

    CSceneCfgData& GetSceneCfg(int iIndex)
    {
        return _stSceneCfg.GetConfig(iIndex);
    }

    int IsValidMonGroupID(int iSceneID, unsigned int uiMonGroupID);

private:
    CSceneCfg _stSceneCfg;
};

#endif //__CSceneMgr_h__

